home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Libraries / SAT 2.1.2 / Zkrolly ƒ / sZprite.p < prev    next >
Encoding:
Text File  |  1994-06-02  |  1.3 KB  |  71 lines  |  [TEXT/PJMM]

  1. unit sZprite;
  2.  
  3. interface
  4.  
  5.     uses
  6.         SAT;
  7.  
  8.     procedure InitZprite;
  9.     procedure SetupZprite (me: SpritePtr);
  10.     procedure HandleZprite (me: SpritePtr);
  11.  
  12. implementation
  13.  
  14.     const
  15.         zpeedH = 1;
  16.         zpeedV = 1;
  17.     var
  18.         theSound: Handle;
  19.         Zfaces: array[0..1] of FacePtr;
  20.  
  21.     procedure InitZprite;
  22.         var
  23.             i: integer;
  24.     begin
  25.         theSound := SATGetSound(128);
  26.         for i := 0 to 1 do
  27.             Zfaces[i] := GetFace(128 + i);
  28.     end;
  29.  
  30.     procedure SetupZprite (me: SpritePtr);
  31.     begin
  32.         me^.speed.h := zpeedH;
  33.         me^.speed.v := -zpeedV;
  34.         me^.face := Zfaces[1];
  35.         me^.task := @HandleZprite;
  36.     end;
  37.  
  38.     procedure HandleZprite (me: SpritePtr);
  39.     begin
  40.         with me^ do
  41.             begin
  42. {if mode < 1 then Face := nil;{test av faceless}
  43.  
  44.                 position.h := position.h + speed.h;
  45.                 position.v := position.v + speed.v;
  46.                 if position.h > gSAT.offSizeH then {400}
  47.                     begin
  48.                         speed.h := -zpeedH;
  49.                         SATSoundPlay(theSound, 1, false);
  50.                         face := Zfaces[0];
  51.                     end;
  52.                 if position.h < -20 then {50}
  53.                     begin
  54.                         speed.h := zpeedH;
  55.                         SATSoundPlay(theSound, 1, true);
  56.                         face := Zfaces[1];
  57.                     end;
  58.                 if position.v > gSAT.offSizeV then {400}
  59.                     begin
  60.                         speed.v := -zpeedV;
  61.                         SATSoundPlay(theSound, 1, false);
  62.                     end;
  63.                 if position.v < -20 then {50}
  64.                     begin
  65.                         speed.v := zpeedV;
  66.                         SATSoundPlay(theSound, 1, true);
  67.                     end;
  68.             end;
  69.     end;
  70.  
  71. end.